//
// Academic License - for use in teaching, academic research, and meeting
// course requirements at degree granting institutions only.  Not for
// government, commercial, or other organizational use.
//
// File: rocr6_solver_types.h
//
// Code generated for Simulink model 'rocr6_solver'.
//
// Model version                  : 5.16
// Simulink Coder version         : 9.8 (R2022b) 13-May-2022
// C/C++ source code generated on : Fri Feb 17 15:04:27 2023
//
// Target selection: ert.tlc
// Embedded hardware selection: ARM Compatible->ARM 64-bit (LP64)
// Code generation objectives: Unspecified
// Validation result: Not run
//
#ifndef RTW_HEADER_rocr6_solver_types_h_
#define RTW_HEADER_rocr6_solver_types_h_
#include "rtwtypes.h"
#ifndef DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_ros_time_Time_
#define DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_ros_time_Time_

// MsgType=ros_time/Time
struct SL_Bus_rocr6_solver_ros_time_Time
{
  real_T Sec;
  real_T Nsec;
};

#endif

#ifndef DEFINED_TYPEDEF_FOR_SL_Bus_ROSVariableLengthArrayInfo_
#define DEFINED_TYPEDEF_FOR_SL_Bus_ROSVariableLengthArrayInfo_

struct SL_Bus_ROSVariableLengthArrayInfo
{
  uint32_T CurrentLength;
  uint32_T ReceivedLength;
};

#endif

#ifndef DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_std_msgs_Header_
#define DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_std_msgs_Header_

// MsgType=std_msgs/Header
struct SL_Bus_rocr6_solver_std_msgs_Header
{
  uint32_T Seq;

  // MsgType=ros_time/Time
  SL_Bus_rocr6_solver_ros_time_Time Stamp;

  // PrimitiveROSType=string:IsVarLen=1:VarLenCategory=data:VarLenElem=FrameId_SL_Info:TruncateAction=warn 
  uint8_T FrameId[128];

  // IsVarLen=1:VarLenCategory=length:VarLenElem=FrameId
  SL_Bus_ROSVariableLengthArrayInfo FrameId_SL_Info;
};

#endif

#ifndef DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_std_msgs_String_
#define DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_std_msgs_String_

// MsgType=std_msgs/String
struct SL_Bus_rocr6_solver_std_msgs_String
{
  // PrimitiveROSType=string:IsVarLen=1:VarLenCategory=data:VarLenElem=Data_SL_Info:TruncateAction=warn 
  uint8_T Data[20];

  // IsVarLen=1:VarLenCategory=length:VarLenElem=Data
  SL_Bus_ROSVariableLengthArrayInfo Data_SL_Info;
};

#endif

#ifndef DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_sensor_msgs_JointState_
#define DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_sensor_msgs_JointState_

// MsgType=sensor_msgs/JointState
struct SL_Bus_rocr6_solver_sensor_msgs_JointState
{
  // MsgType=std_msgs/Header
  SL_Bus_rocr6_solver_std_msgs_Header Header;

  // MsgType=std_msgs/String:PrimitiveROSType=string[]:IsVarLen=1:VarLenCategory=data:VarLenElem=Name_SL_Info:TruncateAction=warn 
  SL_Bus_rocr6_solver_std_msgs_String Name[15];

  // IsVarLen=1:VarLenCategory=length:VarLenElem=Name
  SL_Bus_ROSVariableLengthArrayInfo Name_SL_Info;

  // IsVarLen=1:VarLenCategory=data:VarLenElem=Position_SL_Info:TruncateAction=warn 
  real_T Position[6];

  // IsVarLen=1:VarLenCategory=length:VarLenElem=Position
  SL_Bus_ROSVariableLengthArrayInfo Position_SL_Info;

  // IsVarLen=1:VarLenCategory=data:VarLenElem=Velocity_SL_Info:TruncateAction=warn 
  real_T Velocity[6];

  // IsVarLen=1:VarLenCategory=length:VarLenElem=Velocity
  SL_Bus_ROSVariableLengthArrayInfo Velocity_SL_Info;

  // IsVarLen=1:VarLenCategory=data:VarLenElem=Effort_SL_Info:TruncateAction=warn 
  real_T Effort[6];

  // IsVarLen=1:VarLenCategory=length:VarLenElem=Effort
  SL_Bus_ROSVariableLengthArrayInfo Effort_SL_Info;
};

#endif

#ifndef DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_geometry_msgs_Point_
#define DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_geometry_msgs_Point_

// MsgType=geometry_msgs/Point
struct SL_Bus_rocr6_solver_geometry_msgs_Point
{
  real_T X;
  real_T Y;
  real_T Z;
};

#endif

#ifndef DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_geometry_msgs_Quaternion_
#define DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_geometry_msgs_Quaternion_

// MsgType=geometry_msgs/Quaternion
struct SL_Bus_rocr6_solver_geometry_msgs_Quaternion
{
  real_T X;
  real_T Y;
  real_T Z;
  real_T W;
};

#endif

#ifndef DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_geometry_msgs_Pose_
#define DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_geometry_msgs_Pose_

// MsgType=geometry_msgs/Pose
struct SL_Bus_rocr6_solver_geometry_msgs_Pose
{
  // MsgType=geometry_msgs/Point
  SL_Bus_rocr6_solver_geometry_msgs_Point Position;

  // MsgType=geometry_msgs/Quaternion
  SL_Bus_rocr6_solver_geometry_msgs_Quaternion Orientation;
};

#endif

#ifndef DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_std_msgs_MultiArrayDimension_
#define DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_std_msgs_MultiArrayDimension_

// MsgType=std_msgs/MultiArrayDimension
struct SL_Bus_rocr6_solver_std_msgs_MultiArrayDimension
{
  // PrimitiveROSType=string:IsVarLen=1:VarLenCategory=data:VarLenElem=Label_SL_Info:TruncateAction=warn 
  uint8_T Label[128];

  // IsVarLen=1:VarLenCategory=length:VarLenElem=Label
  SL_Bus_ROSVariableLengthArrayInfo Label_SL_Info;
  uint32_T Size;
  uint32_T Stride;
};

#endif

#ifndef DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_std_msgs_MultiArrayLayout_
#define DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_std_msgs_MultiArrayLayout_

// MsgType=std_msgs/MultiArrayLayout
struct SL_Bus_rocr6_solver_std_msgs_MultiArrayLayout
{
  // MsgType=std_msgs/MultiArrayDimension:IsVarLen=1:VarLenCategory=data:VarLenElem=Dim_SL_Info:TruncateAction=warn 
  SL_Bus_rocr6_solver_std_msgs_MultiArrayDimension Dim[16];

  // IsVarLen=1:VarLenCategory=length:VarLenElem=Dim
  SL_Bus_ROSVariableLengthArrayInfo Dim_SL_Info;
  uint32_T DataOffset;
};

#endif

#ifndef DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_std_msgs_Float64MultiArray_
#define DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_std_msgs_Float64MultiArray_

// MsgType=std_msgs/Float64MultiArray
struct SL_Bus_rocr6_solver_std_msgs_Float64MultiArray
{
  // MsgType=std_msgs/MultiArrayLayout
  SL_Bus_rocr6_solver_std_msgs_MultiArrayLayout Layout;

  // IsVarLen=1:VarLenCategory=data:VarLenElem=Data_SL_Info:TruncateAction=warn
  real_T Data[6];

  // IsVarLen=1:VarLenCategory=length:VarLenElem=Data
  SL_Bus_ROSVariableLengthArrayInfo Data_SL_Info;
};

#endif

#ifndef DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_rocr6_msgs_Goal_
#define DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_rocr6_msgs_Goal_

// MsgType=rocr6_msgs/Goal
struct SL_Bus_rocr6_solver_rocr6_msgs_Goal
{
  uint8_T Cmd;
  real_T A1;
  real_T A2;
  real_T A3;
  real_T A4;
  real_T A5;
  real_T A6;
};

#endif

#ifndef DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_rocr6_msgs_Move_
#define DEFINED_TYPEDEF_FOR_SL_Bus_rocr6_solver_rocr6_msgs_Move_

// MsgType=rocr6_msgs/Move
struct SL_Bus_rocr6_solver_rocr6_msgs_Move
{
  real_T J1;
  real_T J2;
  real_T J3;
  real_T J4;
  real_T J5;
  real_T J6;
};

#endif

#ifndef DEFINED_TYPEDEF_FOR_struct_MH1icwhz7mkMseeLmnjXIE_
#define DEFINED_TYPEDEF_FOR_struct_MH1icwhz7mkMseeLmnjXIE_

struct struct_MH1icwhz7mkMseeLmnjXIE
{
  boolean_T EnforceJointLimits;
  boolean_T AllowRandomRestart;
  real_T MaxIterations;
  real_T MaxTime;
  real_T GradientTolerance;
  real_T SolutionTolerance;
  real_T StepTolerance;
};

#endif

#ifndef struct_ros_slroscpp_internal_block_S_T
#define struct_ros_slroscpp_internal_block_S_T

struct ros_slroscpp_internal_block_S_T
{
  boolean_T matlabCodegenIsDeleted;
  int32_T isInitialized;
  boolean_T isSetupComplete;
};

#endif                                // struct_ros_slroscpp_internal_block_S_T

#ifndef struct_robotics_slcore_internal_bloc_T
#define struct_robotics_slcore_internal_bloc_T

struct robotics_slcore_internal_bloc_T
{
  int32_T isInitialized;
};

#endif                                // struct_robotics_slcore_internal_bloc_T

#ifndef struct_h_robotics_manip_internal_Col_T
#define struct_h_robotics_manip_internal_Col_T

struct h_robotics_manip_internal_Col_T
{
  void* CollisionPrimitive;
};

#endif                                // struct_h_robotics_manip_internal_Col_T

#ifndef struct_ros_slroscpp_internal_block_P_T
#define struct_ros_slroscpp_internal_block_P_T

struct ros_slroscpp_internal_block_P_T
{
  boolean_T matlabCodegenIsDeleted;
  int32_T isInitialized;
  boolean_T isSetupComplete;
};

#endif                                // struct_ros_slroscpp_internal_block_P_T

#ifndef struct_sdAmwXbnJnEmimT0NaJRtAD_rocr6_T
#define struct_sdAmwXbnJnEmimT0NaJRtAD_rocr6_T

struct sdAmwXbnJnEmimT0NaJRtAD_rocr6_T
{
  real_T tv_sec;
  real_T tv_nsec;
};

#endif                                // struct_sdAmwXbnJnEmimT0NaJRtAD_rocr6_T

// Custom Type definition for MATLABSystem: '<S21>/MATLAB System'
#include "coder_posix_time.h"
#ifndef struct_f_robotics_manip_internal_Fas_T
#define struct_f_robotics_manip_internal_Fas_T

struct f_robotics_manip_internal_Fas_T
{
  int32_T __dummy;
};

#endif                                // struct_f_robotics_manip_internal_Fas_T

#ifndef struct_f_robotics_core_internal_Syst_T
#define struct_f_robotics_core_internal_Syst_T

struct f_robotics_core_internal_Syst_T
{
  sdAmwXbnJnEmimT0NaJRtAD_rocr6_T StartTime;
};

#endif                                // struct_f_robotics_core_internal_Syst_T

#ifndef struct_f_cell_wrap_rocr6_solver_T
#define struct_f_cell_wrap_rocr6_solver_T

struct f_cell_wrap_rocr6_solver_T
{
  real_T f1[16];
};

#endif                                 // struct_f_cell_wrap_rocr6_solver_T

#ifndef struct_emxArray_char_T_rocr6_solver_T
#define struct_emxArray_char_T_rocr6_solver_T

struct emxArray_char_T_rocr6_solver_T
{
  char_T *data;
  int32_T *size;
  int32_T allocatedSize;
  int32_T numDimensions;
  boolean_T canFreeData;
};

#endif                                 // struct_emxArray_char_T_rocr6_solver_T

#ifndef struct_emxArray_h_robotics_manip_int_T
#define struct_emxArray_h_robotics_manip_int_T

struct emxArray_h_robotics_manip_int_T
{
  h_robotics_manip_internal_Col_T *data;
  int32_T *size;
  int32_T allocatedSize;
  int32_T numDimensions;
  boolean_T canFreeData;
};

#endif                                // struct_emxArray_h_robotics_manip_int_T

#ifndef struct_c_rigidBodyJoint_rocr6_solver_T
#define struct_c_rigidBodyJoint_rocr6_solver_T

struct c_rigidBodyJoint_rocr6_solver_T
{
  emxArray_char_T_rocr6_solver_T *Type;
  real_T PositionNumber;
  real_T JointToParentTransform[16];
  real_T ChildToJointTransform[16];
  real_T JointAxisInternal[3];
};

#endif                                // struct_c_rigidBodyJoint_rocr6_solver_T

#ifndef struct_i_robotics_manip_internal_Col_T
#define struct_i_robotics_manip_internal_Col_T

struct i_robotics_manip_internal_Col_T
{
  boolean_T matlabCodegenIsDeleted;
  emxArray_h_robotics_manip_int_T *CollisionGeometries;
  real_T MaxElements;
  real_T Size;
};

#endif                                // struct_i_robotics_manip_internal_Col_T

#ifndef struct_k_robotics_manip_internal_Rig_T
#define struct_k_robotics_manip_internal_Rig_T

struct k_robotics_manip_internal_Rig_T
{
  boolean_T matlabCodegenIsDeleted;
  emxArray_char_T_rocr6_solver_T *NameInternal;
  c_rigidBodyJoint_rocr6_solver_T JointInternal;
  real_T ParentIndex;
  i_robotics_manip_internal_Col_T CollisionsInternal;
};

#endif                                // struct_k_robotics_manip_internal_Rig_T

#ifndef struct_l_robotics_manip_internal_Rig_T
#define struct_l_robotics_manip_internal_Rig_T

struct l_robotics_manip_internal_Rig_T
{
  boolean_T matlabCodegenIsDeleted;
  real_T NumBodies;
  k_robotics_manip_internal_Rig_T Base;
  k_robotics_manip_internal_Rig_T *Bodies[7];
  real_T PositionNumber;
  k_robotics_manip_internal_Rig_T _pobj0[14];
};

#endif                                // struct_l_robotics_manip_internal_Rig_T

#ifndef struct_robotics_slmanip_internal_blo_T
#define struct_robotics_slmanip_internal_blo_T

struct robotics_slmanip_internal_blo_T
{
  boolean_T matlabCodegenIsDeleted;
  int32_T isInitialized;
  l_robotics_manip_internal_Rig_T TreeInternal;
};

#endif                                // struct_robotics_slmanip_internal_blo_T

#ifndef struct_emxArray_real_T_rocr6_solver_T
#define struct_emxArray_real_T_rocr6_solver_T

struct emxArray_real_T_rocr6_solver_T
{
  real_T *data;
  int32_T *size;
  int32_T allocatedSize;
  int32_T numDimensions;
  boolean_T canFreeData;
};

#endif                                 // struct_emxArray_real_T_rocr6_solver_T

#ifndef struct_c_rigidBodyJoint_rocr6_solv_c_T
#define struct_c_rigidBodyJoint_rocr6_solv_c_T

struct c_rigidBodyJoint_rocr6_solv_c_T
{
  emxArray_char_T_rocr6_solver_T *Type;
  real_T VelocityNumber;
  real_T PositionNumber;
  emxArray_real_T_rocr6_solver_T *MotionSubspace;
  boolean_T InTree;
  real_T JointToParentTransform[16];
  real_T ChildToJointTransform[16];
  emxArray_char_T_rocr6_solver_T *NameInternal;
  emxArray_real_T_rocr6_solver_T *PositionLimitsInternal;
  emxArray_real_T_rocr6_solver_T *HomePositionInternal;
  real_T JointAxisInternal[3];
};

#endif                                // struct_c_rigidBodyJoint_rocr6_solv_c_T

#ifndef struct_emxArray_f_cell_wrap_rocr6_so_T
#define struct_emxArray_f_cell_wrap_rocr6_so_T

struct emxArray_f_cell_wrap_rocr6_so_T
{
  f_cell_wrap_rocr6_solver_T *data;
  int32_T *size;
  int32_T allocatedSize;
  int32_T numDimensions;
  boolean_T canFreeData;
};

#endif                                // struct_emxArray_f_cell_wrap_rocr6_so_T

#ifndef struct_emxArray_int8_T_rocr6_solver_T
#define struct_emxArray_int8_T_rocr6_solver_T

struct emxArray_int8_T_rocr6_solver_T
{
  int8_T *data;
  int32_T *size;
  int32_T allocatedSize;
  int32_T numDimensions;
  boolean_T canFreeData;
};

#endif                                 // struct_emxArray_int8_T_rocr6_solver_T

#ifndef struct_emxArray_boolean_T_rocr6_solv_T
#define struct_emxArray_boolean_T_rocr6_solv_T

struct emxArray_boolean_T_rocr6_solv_T
{
  boolean_T *data;
  int32_T *size;
  int32_T allocatedSize;
  int32_T numDimensions;
  boolean_T canFreeData;
};

#endif                                // struct_emxArray_boolean_T_rocr6_solv_T

#ifndef struct_emxArray_int32_T_rocr6_solver_T
#define struct_emxArray_int32_T_rocr6_solver_T

struct emxArray_int32_T_rocr6_solver_T
{
  int32_T *data;
  int32_T *size;
  int32_T allocatedSize;
  int32_T numDimensions;
  boolean_T canFreeData;
};

#endif                                // struct_emxArray_int32_T_rocr6_solver_T

#ifndef struct_emxArray_uint32_T_rocr6_solve_T
#define struct_emxArray_uint32_T_rocr6_solve_T

struct emxArray_uint32_T_rocr6_solve_T
{
  uint32_T *data;
  int32_T *size;
  int32_T allocatedSize;
  int32_T numDimensions;
  boolean_T canFreeData;
};

#endif                                // struct_emxArray_uint32_T_rocr6_solve_T

#ifndef struct_k_robotics_manip_internal_Col_T
#define struct_k_robotics_manip_internal_Col_T

struct k_robotics_manip_internal_Col_T
{
  void* CollisionPrimitive;
  real_T LocalPose[16];
  real_T WorldPose[16];
};

#endif                                // struct_k_robotics_manip_internal_Col_T

#ifndef struct_emxArray_k_robotics_manip_int_T
#define struct_emxArray_k_robotics_manip_int_T

struct emxArray_k_robotics_manip_int_T
{
  k_robotics_manip_internal_Col_T *data;
  int32_T *size;
  int32_T allocatedSize;
  int32_T numDimensions;
  boolean_T canFreeData;
};

#endif                                // struct_emxArray_k_robotics_manip_int_T

#ifndef struct_l_robotics_manip_internal_Col_T
#define struct_l_robotics_manip_internal_Col_T

struct l_robotics_manip_internal_Col_T
{
  boolean_T matlabCodegenIsDeleted;
  emxArray_k_robotics_manip_int_T *CollisionGeometries;
  real_T MaxElements;
  real_T Size;
};

#endif                                // struct_l_robotics_manip_internal_Col_T

#ifndef struct_t_robotics_manip_internal_Rig_T
#define struct_t_robotics_manip_internal_Rig_T

struct t_robotics_manip_internal_Rig_T
{
  boolean_T matlabCodegenIsDeleted;
  real_T Index;
  emxArray_char_T_rocr6_solver_T *NameInternal;
  c_rigidBodyJoint_rocr6_solv_c_T *JointInternal;
  real_T ParentIndex;
  real_T MassInternal;
  real_T CenterOfMassInternal[3];
  real_T InertiaInternal[9];
  real_T SpatialInertia[36];
  l_robotics_manip_internal_Col_T *CollisionsInternal;
};

#endif                                // struct_t_robotics_manip_internal_Rig_T

#ifndef struct_u_robotics_manip_internal_Rig_T
#define struct_u_robotics_manip_internal_Rig_T

struct u_robotics_manip_internal_Rig_T
{
  boolean_T matlabCodegenIsDeleted;
  real_T NumBodies;
  t_robotics_manip_internal_Rig_T Base;
  real_T Gravity[3];
  t_robotics_manip_internal_Rig_T *Bodies[7];
  l_robotics_manip_internal_Col_T _pobj0[15];
  c_rigidBodyJoint_rocr6_solv_c_T _pobj1[15];
  t_robotics_manip_internal_Rig_T _pobj2[14];
};

#endif                                // struct_u_robotics_manip_internal_Rig_T

#ifndef struct_v_robotics_manip_internal_Rig_T
#define struct_v_robotics_manip_internal_Rig_T

struct v_robotics_manip_internal_Rig_T
{
  boolean_T matlabCodegenIsDeleted;
  real_T NumBodies;
  t_robotics_manip_internal_Rig_T Base;
  f_robotics_manip_internal_Fas_T FastVisualizationHelper;
  t_robotics_manip_internal_Rig_T *Bodies[7];
  real_T NumNonFixedBodies;
  real_T PositionNumber;
  real_T VelocityNumber;
  real_T PositionDoFMap[14];
  real_T VelocityDoFMap[14];
  t_robotics_manip_internal_Rig_T _pobj0[7];
  l_robotics_manip_internal_Col_T _pobj1[8];
  c_rigidBodyJoint_rocr6_solv_c_T _pobj2[8];
};

#endif                                // struct_v_robotics_manip_internal_Rig_T

#ifndef struct_f_robotics_manip_internal_IKE_T
#define struct_f_robotics_manip_internal_IKE_T

struct f_robotics_manip_internal_IKE_T
{
  boolean_T matlabCodegenIsDeleted;
  v_robotics_manip_internal_Rig_T *Robot;
  real_T WeightMatrix[36];
  emxArray_char_T_rocr6_solver_T *BodyName;
  real_T Tform[16];
  emxArray_real_T_rocr6_solver_T *ErrTemp;
  real_T CostTemp;
  emxArray_real_T_rocr6_solver_T *GradTemp;
};

#endif                                // struct_f_robotics_manip_internal_IKE_T

#ifndef struct_h_robotics_core_internal_Damp_T
#define struct_h_robotics_core_internal_Damp_T

struct h_robotics_core_internal_Damp_T
{
  boolean_T matlabCodegenIsDeleted;
  char_T Name[22];
  emxArray_real_T_rocr6_solver_T *ConstraintMatrix;
  emxArray_real_T_rocr6_solver_T *ConstraintBound;
  boolean_T ConstraintsOn;
  real_T SolutionTolerance;
  boolean_T RandomRestart;
  f_robotics_manip_internal_IKE_T *ExtraArgs;
  real_T MaxNumIteration;
  real_T MaxTime;
  real_T SeedInternal[6];
  real_T MaxTimeInternal;
  real_T MaxNumIterationInternal;
  real_T StepTolerance;
  f_robotics_core_internal_Syst_T TimeObj;
  real_T GradientTolerance;
  real_T ArmijoRuleBeta;
  real_T ArmijoRuleSigma;
  f_robotics_core_internal_Syst_T TimeObjInternal;
};

#endif                                // struct_h_robotics_core_internal_Damp_T

#ifndef struct_b_inverseKinematics_rocr6_sol_T
#define struct_b_inverseKinematics_rocr6_sol_T

struct b_inverseKinematics_rocr6_sol_T
{
  boolean_T matlabCodegenIsDeleted;
  int32_T isInitialized;
  boolean_T isSetupComplete;
  h_robotics_core_internal_Damp_T *Solver;
  emxArray_real_T_rocr6_solver_T *Limits;
  v_robotics_manip_internal_Rig_T *RigidBodyTreeInternal;
  f_robotics_manip_internal_IKE_T _pobj0;
  c_rigidBodyJoint_rocr6_solv_c_T _pobj1[14];
  t_robotics_manip_internal_Rig_T _pobj2[7];
  l_robotics_manip_internal_Col_T _pobj3[15];
  v_robotics_manip_internal_Rig_T _pobj4;
  h_robotics_core_internal_Damp_T _pobj5;
};

#endif                                // struct_b_inverseKinematics_rocr6_sol_T

#ifndef struct_robotics_slmanip_internal_b_c_T
#define struct_robotics_slmanip_internal_b_c_T

struct robotics_slmanip_internal_b_c_T
{
  boolean_T matlabCodegenIsDeleted;
  int32_T isInitialized;
  u_robotics_manip_internal_Rig_T TreeInternal;
  b_inverseKinematics_rocr6_sol_T IKInternal;
};

#endif                                // struct_robotics_slmanip_internal_b_c_T

#ifndef typedef_c_robotics_core_internal_NLPS_T
#define typedef_c_robotics_core_internal_NLPS_T

typedef int32_T c_robotics_core_internal_NLPS_T;

#endif                               // typedef_c_robotics_core_internal_NLPS_T

#ifndef robotics_core_internal_NLPSolverExitFlags_constants
#define robotics_core_internal_NLPSolverExitFlags_constants

// enum robotics_core_internal_NLPSolverExitFlags
const c_robotics_core_internal_NLPS_T LocalMinimumFound = 1;
const c_robotics_core_internal_NLPS_T IterationLimitExceeded = 2;
const c_robotics_core_internal_NLPS_T TimeLimitExceeded = 3;
const c_robotics_core_internal_NLPS_T StepSizeBelowMinimum = 4;
const c_robotics_core_internal_NLPS_T ChangeInErrorBelowMinimum = 5;
const c_robotics_core_internal_NLPS_T SearchDirectionInvalid = 6;
const c_robotics_core_internal_NLPS_T HessianNotPositiveSemidefinite = 7;
const c_robotics_core_internal_NLPS_T TrustRegionRadiusBelowMinimum = 8;

#endif                   // robotics_core_internal_NLPSolverExitFlags_constants

// Parameters (default storage)
typedef struct P_rocr6_solver_T_ P_rocr6_solver_T;

// Forward declaration for rtModel
typedef struct tag_RTM_rocr6_solver_T RT_MODEL_rocr6_solver_T;

#endif                                 // RTW_HEADER_rocr6_solver_types_h_

//
// File trailer for generated code.
//
// [EOF]
//
